iT邦幫忙

2025 iThome 鐵人賽

DAY 3
1
Software Development

從零開始學 Python系列 第 3

Day3 - input() 與型別轉換:讓程式能與使用者互動

  • 分享至 

  • xImage
  •  

今天的學習目標:

  • 學會使用 input() 接收使用者輸入
  • 理解輸入的資料型別
  • 將字串轉換為整數(int())或浮點數(float())
  • 完成一個互動式小範例

Input 是甚麼?

input() 是 Python 提供的函式,可以讓使用者在程式執行時輸入資料,並將這些資料儲存在變數中。

name = input("Enter your name:")
print("Hello," + name + "!")

執行時會顯示提示文字並等使用者輸入內容,按下 Enter 後,輸入的資料就會存入變數 name。
螢幕擷取畫面 2025-08-03 131127
重要觀念: input() 的輸入永遠都是字串
不管使用者輸入的是數字、字,還是符號,input() 回傳的都是字串類型(str)!
如果想把它當數字來用,必須自己轉換資料型別。

型別轉換方式

原型別 轉換方法 範例
字串 → 整數 int(字串) int("100") → 100
字串 → 小數 float(字串) float("3.14") → 3.14
整數 → 字串 str(整數) str(100) → "100"

example

age = int(input("Enter your age:"))
if age > 18:
    print("Adult!")

錯誤範例
螢幕擷取畫面 2025-08-03 135012
意思是:你不能用 > 來比較「字串」和「整數」。

實作練習:BMI 計算器

name = input("Enter your name:")
height = float(input("Enter your height(cm):"))
weight = float(input("Enter your weight(kg):"))

bmi = weight / ((height / 100) ** 2)
print(f"{name} 's BMI is {bmi:.2f}")

螢幕擷取畫面 2025-08-03 132926
說明:
float() 將字串轉換為小數
:.2f 表示小數點顯示 2 位

學習心得

今天我學會了使用 input(),讓程式不再只是印東西,而是能夠「跟我對話」。
當我學到 input() 回傳的都是字串類型,要得到除了字串的型別就必須轉換型別。讓我回頭看了一下Java的寫法。
在寫Java的時候,輸入整數要寫:

Scanner sc = new Scanner(System.in);
int age = sc.nextInt();

Java 會依照 .nextInt() 回傳對應的型別,但你得先指定「我要的是 int」。而 Python 則是一律用 input() 接收為字串,開發者必須自己轉換型別。這讓我體會到兩種語言在設計上的差異:
Java 強調型別明確、結構完整;而 Python 則比較自由、靈活,但要靠自己控制資料的型別正確性。不過當我理解可以用 int()、float() 去轉型後,整體就變得非常有邏輯,也更能掌握變數的型別。
我覺得最有趣的是我可以自己寫一個BMI 計算器,讓我感覺到寫程式真的可以做出有用的東西!
明天我會學習數值與字串的基本操作方式,以及 print 的格式化輸出技巧,讓我的程式在互動上更清楚、漂亮!


上一篇
Day2 - 變數與基本資料型態:讓程式開始「記得事情」
下一篇
Day4 - 數值與字串 + print 格式化輸出:讓程式「說話更有條理」
系列文
從零開始學 Python30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言